package com.qtu.user_service.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qtu.entity.SysEmployee;
import com.qtu.user_service.entity.InorderlistMap;
import com.qtu.user_service.entity.LogisticsMap;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author ${author}
 * @since 2020-07-06
 */
public interface SysEmployeeMapper extends BaseMapper<SysEmployee> {

    /**
     * 查询当月的收款以及订单数量
     * @param min 职位
     * @param id 员工id
     * @return
     */
    InorderlistMap getAmount(Integer min, Integer id);

    /**
     * 查询今日的收款以及订单数量
     * @param min 职位
     * @param id 员工id
     * @return
     */
    InorderlistMap getAmountDay(Integer min, Integer id);

    /**
     * 查询属于本员工的所有订单状态的数量
     * @param num 订单状态
     * @param num1 订单状态
     * @param min 员工职位
     * @param id 员工id
     * @return
     */
    Integer getOrder(Integer num,Integer num1,Integer min,Integer id);

    /**
     * 查询本月建立合作的客户
     * @param tel 手机号
     * @return
     */
    Integer getMember(String tel);

    /**
     * 查询本月建立订单的客户
     * @param min 职位
     * @param id 员工id
     * @return
     */
    Integer getMember1(Integer min,Integer id);

    /**
     * 获取各状态订单的信息
     * @param num 订单状态
     * @param num1 订单状态
     * @param min 该员工的职位
     * @param id 员工的id
     * @return
     */
    List<LogisticsMap> getLogistics(String num, String num1, Integer min, Integer id);

    /**
     * 获取订单中商品的信息
     * @param orderId 订单编号
     * @return
     */
    List<LogisticsMap> getGoods(Integer orderId);

    /**
     * 获取本仓库所有的物流人员
     * @param orderId 订单编号
     * @return
     */
    String[] getId(Integer orderId);

    /**
     * 获取订单数量最少的物流人员
     * @param str 所有物流人员的id
     * @return
     */
    Integer getMinLogisticsId(String warehouseCode);

    /**
     * 设置订单的物流人员
     * @param logisticsId 物流人员id
     * @param orderId 订单号
     * @return
     */
    Integer updateLogisticsId(Integer logisticsId,Integer orderId);

    Integer getMaxId(Integer orderId);

    String getWarehouseCode(Integer orderId);

    String getDispatch(String warehouseCode);

    Integer addDispatch(String warehouseCode);
}
